// 作者:于大明
// 职责：只存放api的请求的接口的数据

//-------------------------Service引入----------------------------------
import WxUserInfo from '@/service/02WX/WxUserInfoAppService.js';
import CommonApi from '@/service/00Pub/CommonApiAppService.js';

let mixinApi = {
    // 负责程序中需要进行set的数据 就是页面交互需要改的数据 比如点击checkbox 需要设置true false 和存放ajax的输入输出 (尽量少去定义data里面的属性 多用computed或者filters或者组件进行处理) 
    // 1 能不能在页面单行代码实现
    // 2 能不能不用data methods去实现这个功能
    data() {
      //  const queryObj = this.$util.getQueryObj(); // 直接获取url参数 可以定义In的时候直接绑定值
        return {
            //---------------------接口输入输出 接口名称+in/out 命名 列如接口名称是getStudentList----------------------
            // 一些常用参数如下
            // storeId: '', // 门店ID
            // marketerID: '', // 销售经理
            // pageIndex: 1, // 第几页
            // pageSize: 20, // 每页多少条
            // orderBy: 'createTime desc' // 排序
            registerLoginAccountIn:{
            	phone:'', // 手机号
            	sendCode:'', // 发送的码
				validateCode:'' ,// 发送时候的验证码
            },
        };
    },
    // 负责和页面事件进行交互
    methods: {
		async sendCode(){
			let deviceUniqueId= this.vuex_deviceUniqueId;
			if(!deviceUniqueId){
				deviceUniqueId=this.$util.getGUID();
				this.$globalData.VuePrototype.$u.vuex('vuex_deviceUniqueId',deviceUniqueId);
			}
			const res= await CommonApi.SendCode({
				msgSendMacPhone:this.registerLoginAccountIn.phone,
				validateCode: this.registerLoginAccountIn.validateCode,
				deviceUniqueId: deviceUniqueId
			});
			return res;
		},
		// 登陆
		async login(){
			if(!this.$util.isMobile(this.registerLoginAccountIn.phone)){
				this.$cw.showError("请输入正确的手机号码")
				return;
			}
			if(!this.registerLoginAccountIn.sendCode){
				this.$cw.showError("请输入验证码");
				return;
			}
			
			if(this.registerLoginAccountIn.sendCode.length!=4){
				this.$cw.showError("验证码有误");
				return;
			}
			
			this.registerLoginAccountIn.fromUserGUID=this.vuex_fromUserGUID;
			this.loginStr='登陆中...';
			let res= await WxUserInfo.RegisterLoginAccount(this.registerLoginAccountIn);
			if(res){
				getApp().globalData.userInfo=res.data;
				await this.$cw.refreshUserInfo(res.data.id);
				let redirect = this.queryObj.redirect || '/';
				uni.redirectTo({
					url: redirect,
					fail: (e) => {
						if (e.errMsg.indexOf("tabbar") != -1) {
							uni.switchTab({
								url: redirect
							})
						}
					},
				});
			}else{
				this.loginStr='授权登陆';
			}
		}
    },
}
export default mixinApi;